package com.mediacloud.app.newsmodule.fragment;

import static com.mediacloud.app.nav2.fragment.HqyNavFragmentKt.FLAG_SCROLL_POSITION;
import static com.mediacloud.app.nav2.fragment.HqyNavFragmentKt.FLAG_SCROLL_TOP;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import androidx.annotation.CallSuper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

import com.mediacloud.app.appfactory.cache.AppConfig;
import com.mediacloud.app.assembly.util.Utility;
import com.mediacloud.app.assembly.views.XRefreashListView.IXListViewListener;
import com.mediacloud.app.cloud.ijkplayersdk.video.MultiUtils;
import com.mediacloud.app.cloud.ijkplayersdk.video.MultiVideoMannager;
import com.mediacloud.app.fbnavsk.SecondFloorHandlerKt;
import com.mediacloud.app.fbnavsk.SecondNav;
import com.mediacloud.app.model.adaptor.BaseAdaptor;
import com.mediacloud.app.model.interfaces.DataInvokeCallBack;
import com.mediacloud.app.model.interfaces.InterfaceLayout;
import com.mediacloud.app.model.interfaces.LBSNavigate;
import com.mediacloud.app.model.news.ArticleItem;
import com.mediacloud.app.model.news.ArticleListData;
import com.mediacloud.app.model.news.BaseMessageReciver;
import com.mediacloud.app.model.news.CatalogItem;
import com.mediacloud.app.model.view.floatwin.FloatButtonGroup;
import com.mediacloud.app.nav2.fragment.HqyNavFragment;
import com.mediacloud.app.newsmodule.R;
import com.mediacloud.app.newsmodule.adaptor.NewsListItemBaseAdaptor;
import com.mediacloud.app.newsmodule.adaptor.NewsListItemStyleAdaptor;
import com.mediacloud.app.newsmodule.adaptor.basenews.IAdapterRefresh;
import com.mediacloud.app.newsmodule.adaptor.bigimg_nosliceline.BigImageNoSliceLineAdaptor;
import com.mediacloud.app.newsmodule.fragment.newslist.ListDividerLayerUtilKt;
import com.mediacloud.app.newsmodule.fragment.video.vod.PlayClickListener;
import com.mediacloud.app.newsmodule.fragment.video.vod.VideoListPlayerUtil;
import com.mediacloud.app.newsmodule.utils.CacheDataKt;
import com.mediacloud.app.newsmodule.utils.ContentListCache;
import com.mediacloud.app.newsmodule.utils.LBSChooseListener;
import com.mediacloud.app.newsmodule.utils.LBSRefreshLocation;
import com.mediacloud.app.newsmodule.utils.NewsItemClickUtils;
import com.mediacloud.app.newsmodule.utils.NewsListDataInvoker;
import com.mediacloud.app.newsmodule.utils.TabLayoutColorKt;
import com.mediacloud.app.newsmodule.utils.ThemeKit;
import com.mediacloud.app.newsmodule.view.ComponentContainer;
import com.mediacloud.app.newsmodule.view.LocationChooseHeader;
import com.mediacloud.app.reslib.enums.AppFactoryGlobalConfig;
import com.mediacloud.app.reslib.enums.Navigate;
import com.mediacloud.app.reslib.enums.StyleOther;
import com.mediacloud.app.reslib.enums.ToolBarActionF5OrTop;
import com.mediacloud.app.view.XSmartRefreshLayout;
import com.outsource.factory.IOutsourceFactory;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.tencent.qcloud.tim.uikit.utils.MD5Utils;

import org.greenrobot.eventbus.EventBus;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;

/**
 * 新闻内容列表页 不带banner
 */
@SuppressWarnings("ALL")
public class BaseNewsListFragment24
//        extends HqyNavFragment implements ToolBarActionF5OrTop, IOutsourceFactory,
//        InterfaceLayout, IXListViewListener, OnItemClickListener, LBSNavigate, OnRefreshLoadMoreListener, PlayClickListener
{
//    public ListView mCatalogContentItemListView;
//    protected TextView emptyTipsText;
//    @SuppressWarnings("rawtypes")
//    protected BaseAdaptor adaptor;
//    protected String catalogID;
//    protected int pageNum = 1;
//    protected int pageSize = 10;
//    protected boolean isLoading = false;
//    protected boolean attached = false;
//    protected final String SaveAdaptor = "SaveAdaptor";
//    protected CatalogItem catalogItem;
//    protected NewsListDataInvoker dataInvoker;
//    protected BaseDataInvokeCallBack dataCallback;
//    protected View sohuHeaderView;
//    /**
//     * 上一次滚动停留的位置
//     */
//    protected int lastSelectedPosition;
//    /**
//     * 上一次滚动位置的偏差
//     */
//    protected int lastSelectedPositionOffset = 0;
//    /**
//     * 以这个作为一瓶显示数据的标记位，超过这个值就认为滚过了一屏
//     */
//    private int visibleItemCount = -1;
//    /**
//     * 第一屏最后一个元素显示在listView中显示的部分
//     */
//    private int firstPageLastItemOffset = 0;
//
//    private SparseIntArray sparseArrayListViewItemHeight = new SparseIntArray();
//
//    protected ContentListCache<Object> contentListCache = new ContentListCache<>(null);
//
//    protected boolean needCache() {
//        return true;
//    }
//    //是否是军情24小时导航的时间线
//    private boolean isFROM92=false;
//    protected Class<? extends BaseDataInvokeCallBack<? extends BaseMessageReciver>> getDataInvokeCallBackClass() {
//        return BaseNewsDataInvokeCallBack.class;
//    }
//
//    @SuppressWarnings("unchecked")
//    private void initCallBackInstance() {
//        Class<?> classRef = getDataInvokeCallBackClass();
//        try {
//            dataCallback = (BaseDataInvokeCallBack<? extends BaseMessageReciver>) classRef.getConstructors()[0].newInstance(this);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    protected void initDataInvoker() {
//        dataInvoker = new NewsListDataInvoker(dataCallback);
//    }
//
//    @Override
//    public void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        contentListCache.setPageSize(pageSize);
//        String TAG = getClass().getCanonicalName();
//        Log.i(TAG, "onCreate fmg");
//
//        initCallBackInstance();
//        initDataInvoker();
//        if (!EventBus.getDefault().isRegistered(this)) {
//            EventBus.getDefault().register(this);
//        }
//    }
//
//    private int begin_position = 0;
//    private int stop_position = 0;
//
//    @SuppressWarnings({"unchecked", "rawtypes"})
//    @Override
//    public void initView() {
//        attached = false;
//        isLoading = false;
//        pageNum = 1;
//        loadingView = findViewById(R.id.mLoadingView);
//        initStateView();
//        mCatalogContentItemListView = Utility.findViewById(mRootView, R.id.mCatalogContentItemListView);
//        mCatalogContentItemListView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
//
//            @Override
//            public boolean onPreDraw() {
//                if (mCatalogContentItemListView.getChildCount() == 0)
//                    return true;
//                int firstPosition = mCatalogContentItemListView.getFirstVisiblePosition();
//                View view = mCatalogContentItemListView.getChildAt(firstPosition);
//                while (view != null && (view.getHeight() == 0 || view.getVisibility() == View.GONE)) {
//                    firstPosition++;
//                    view = mCatalogContentItemListView.getChildAt(firstPosition);
//                    if (firstPosition >= mCatalogContentItemListView.getChildCount()) {
//                        break;
//                    }
//                }
//                final int firstTop = mCatalogContentItemListView.getChildAt(mCatalogContentItemListView.getFirstVisiblePosition()).getTop();
//                final int lastBottom = mCatalogContentItemListView.getChildAt(mCatalogContentItemListView.getChildCount() - 1).getBottom();
//                //当前显示内容的高度
//                int totalHeight = lastBottom - firstTop;
//                //计算出第一屏的高度
//                visibleItemCount = mCatalogContentItemListView.getLastVisiblePosition();
//                int listViewHeight = mCatalogContentItemListView.getHeight();
//                if (totalHeight > listViewHeight) {//在这个情况下最后的一个元素没有显示完
//                    View lastView = mCatalogContentItemListView.getChildAt(visibleItemCount);
//                    if (lastView != null) {
//                        while (visibleItemCount >= 0 && (lastView.getHeight() == 0 || lastView.getVisibility() == View.GONE)) {
//                            visibleItemCount--;
//                            lastView = mCatalogContentItemListView.getChildAt(visibleItemCount);
//                        }
//                        //计算最后一个元素的显示部分
//                        firstPageLastItemOffset = lastView.getHeight() - (lastView.getBottom() - listViewHeight);
//                    }
//                    if (lastView != null)
//                        Log.w(TAG, this + "  onPreDraw visibleItemCount :  " + visibleItemCount + " firstPageLastItemOffset : " + firstPageLastItemOffset + "  listViewHeight: " + listViewHeight +
//                                " lastView.getTop() :: " + lastView.getTop() + "  lastViewHeight :: "
//                                + lastView.getHeight() + " getSelectedItemPosition: " + mCatalogContentItemListView.getSelectedItemPosition() + " totalHeight : " + totalHeight);
//                }
//                mCatalogContentItemListView.getViewTreeObserver().removeOnPreDrawListener(this);
//                return true;
//            }
//        });
//        mCatalogContentItemListView.setOnScrollListener(new AbsListView.OnScrollListener() {
//            @Override
//            public void onScrollStateChanged(AbsListView view, int scrollState) {
//                if (AbsListView.OnScrollListener.SCROLL_STATE_IDLE == scrollState) {
//                    if (scrollOverFirstPage() && !hasScrollerFlag(FLAG_SCROLL_POSITION)) {
//                        setScrollerFlag(FLAG_SCROLL_POSITION);
//                    } else if (!scrollOverFirstPage() && !hasScrollerFlag(FLAG_SCROLL_TOP)) {
//                        setScrollerFlag(FLAG_SCROLL_TOP);
//                    }
//                    stop_position = Math.abs(getListViewScrollY());
//                    if (catalogItem != null) {
//                        ReportManager.getInstance().scroll_page(String.valueOf(begin_position),
//                                String.valueOf(stop_position), MD5Utils.getMD5String(catalogItem.getName()), catalogItem.getName());
//                        begin_position = stop_position;
//                    }
//                }
//
//            }
//
//            @Override
//            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//                View firstVisibleView = mCatalogContentItemListView.getChildAt(firstVisibleItem);
//                if (firstVisibleView != null) {
//                    sparseArrayListViewItemHeight.put(firstVisibleItem, firstVisibleView.getHeight());
//                }
//
//            }
//        });
//        if (adaptor == null) {
//            NewsListItemStyleAdaptor newsAdapter = new NewsListItemStyleAdaptor(getActivity(), this);
//            newsAdapter.listView = mCatalogContentItemListView;
//            adaptor = newsAdapter;
//        }
//        if (getFragmentArguments() != null) {
//            saveInstanceArguments = getFragmentArguments();
//            catalogID = saveInstanceArguments.getString("id");
//            isFROM92 =saveInstanceArguments.getBoolean("isFROM92",false);
//            catalogItem = saveInstanceArguments.getParcelable("catalog");
//        } else if (saveInstanceArguments != null) {
//            catalogID = saveInstanceArguments.getString("id");
//            catalogItem = saveInstanceArguments.getParcelable("catalog");
//        }
//
//        setNid(catalogID);
//        //如果有其他样式的 就用这个列表样式了
//        if (catalogItem != null && catalogItem.getCatalogStyle() == StyleOther.OtherStyle)//&&catalogItem.getStyleOther()!=null)
//        {
//            adaptor = new BigImageNoSliceLineAdaptor(getActivity(), catalogItem, this);
//        }
//        addLBSChosoeHeader();
//        if (getNavigate() != null && getNavigate().getSpecial_effect() == 1) {
//            sohuHeaderView = LayoutInflater.from(getActivity()).inflate(R.layout.sohu_top_sign, null, false);
//            mCatalogContentItemListView.addHeaderView(sohuHeaderView);
//        }
//
//        mCatalogContentItemListView.setHeaderDividersEnabled(false);
//        if (adaptor instanceof NewsListItemStyleAdaptor) {
//            try {
//                ((NewsListItemBaseAdaptor) adaptor).catalogItem = catalogItem;
//            } catch (Exception e) {
//                e.printStackTrace();
//                Log.w(TAG, "" + e.getMessage());
//            }
//        }
//        contentListCache.setCatalogId(catalogID);
//        mCatalogContentItemListView.setFooterDividersEnabled(false);
//        mCatalogContentItemListView.setAdapter(adaptor);
//
//        mCatalogContentItemListView.setOnItemClickListener(this);
//        loadingImage.setOnClickListener(new OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (!currentState.equals(TYPE_LOADING)) {
//                    showStateView(TYPE_LOADING, false);
//                    onRefresh();
//                }
//            }
//        });
//
//
//        beforeUserCache();
//    }
//
//    @Override
//    protected void initOther() {
//        super.initOther();
//        if (getActivity() != null && !checkInited) {
//            useCache();
//        }
//    }
//
//    public void beforeUserCache() {
//
//    }
//
//    /**
//     * listView是不是滚动超过第一屏的距离
//     *
//     * @return true 超过了第一屏的距离
//     */
//    private boolean scrollOverFirstPage() {
//
//        return getListViewScrollY() > mCatalogContentItemListView.getHeight();
////        if(mCatalogContentItemListView.getFirstVisiblePosition() > visibleItemCount){
////            return true;
////        }
////        if(mCatalogContentItemListView.getFirstVisiblePosition() < visibleItemCount){
////            return false;
////        }
////        View firstVisibleView = mCatalogContentItemListView.getChildAt(visibleItemCount);
////        if(firstVisibleView != null){
////            if(firstPageLastItemOffset > 0){//原来内容没有显示完
////                int topOffset = firstVisibleView.getTop();//这个值只能是0或者负值
////                Log.w(TAG,"topOffset :: "+topOffset+"  firstVisibleView "+firstVisibleView.getHeight()+" firstPageLastItemOffset  "+firstPageLastItemOffset+ "  scroll height "+mCatalogContentItemListView.getHeight());
////                //当topOffset绝对值大于firstPageLastItemOffset说明超过一屏
////                return Math.abs(topOffset) > firstPageLastItemOffset ;
////            }else {
////                return false;
////            }
////        }
////        return false;
//    }
//
//    private int getListViewScrollY() {
//        int firstVisiblePosition = mCatalogContentItemListView.getFirstVisiblePosition();
//        int listViewScrollY = 0;
//        for (int i = 0; i < firstVisiblePosition; i++) {
//            listViewScrollY += sparseArrayListViewItemHeight.get(i, 0);
//        }
//        //添加第一个可见元素的高度
//        View firstVisibleView = mCatalogContentItemListView.getChildAt(0);
//        if (firstVisibleView != null) {
//            listViewScrollY += -firstVisibleView.getTop();
//        }
//        return listViewScrollY;
//    }
//
//
//    @CallSuper
//    @Override
//    public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
//        super.onViewCreated(view, savedInstanceState);
//        mCatalogContentItemListView.setVerticalScrollBarEnabled(false);
//        mCatalogContentItemListView.setHeaderDividersEnabled(false);
//        mCatalogContentItemListView.setFooterDividersEnabled(false);
//        mCatalogContentItemListView.setDividerHeight(view.getContext().getResources().getDimensionPixelOffset(R.dimen.dimen1));
//        //  mCatalogContentItemListView.setSelector(R.color.transparent);
//
//
//        //变态的写法 先这样吧  用于向上遍历获取是否是时间轴导航的 不想改其他 感觉会有问题
//        mCatalogContentItemListView.setTag(R.id.isFromTimeLineNav, false);
//        //时间线导航 配置过样式才设置
//        if (catalogItem != null && catalogItem.getCatalogStyle() != StyleOther.OtherStyle && AppFactoryGlobalConfig.FeatureModule.BigModule.TimeLineNav.equals(catalogItem.getCatalog_type()) && getNavigate() != null && getNavigate().getFont_selected() != null) {
//            // mCatalogContentItemListView.setTag(R.id.timeLineColor, Nav2ParserKt.parseSelectedTxtColor(getNavigate(), view.getContext()));
//            mCatalogContentItemListView.setTag(R.id.timeLineColor, ContextCompat.getColor(requireContext(), R.color.text_cctv7_red));
//            mCatalogContentItemListView.setTag(R.id.isFromTimeLineNav, true);
//            mCatalogContentItemListView.setTag(R.id.isFROM92, isFROM92);
//            mCatalogContentItemListView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
//                @Override
//                public boolean onPreDraw() {
//                    mCatalogContentItemListView.getViewTreeObserver().removeOnPreDrawListener(this);
//                    int listWidth = mCatalogContentItemListView.getMeasuredWidth() - mCatalogContentItemListView.getPaddingStart() - mCatalogContentItemListView.getPaddingEnd();
//                    mCatalogContentItemListView.setDivider(ListDividerLayerUtilKt.generateDividerDrawable(view.getContext(), listWidth, TabLayoutColorKt.getTabLayoutStateColor(view.getContext(), getNavigate().getSecond_navigate()).second));
//                    mCatalogContentItemListView.setDividerHeight(view.getContext().getResources().getDimensionPixelOffset(R.dimen.dimen2));
//                    return true;
//                }
//            });
//        }
//    }
//
//    @org.jetbrains.annotations.Nullable
//    @Override
//    public Navigate getNavigate() {
//        if (catalogItem != null && catalogItem.getNavigate() != null)
//            return catalogItem.getNavigate();
//        return super.getNavigate();
//    }
//
//    protected void addLBSChosoeHeader() {
//        //LBS栏目不为空就加上头
//        if (catalogItem != null && catalogItem.getLbsItem() != null) {
//            int maxLBSH = getActivity().getResources().getDimensionPixelSize(R.dimen.dime_fifty);
//            LocationChooseHeader locationChooseHeader = new LocationChooseHeader(getActivity());
//            locationChooseHeader.catalogItem = catalogItem;
//            locationChooseHeader.tag = FGTag.TagID;
////			mCatalogContentItemListView.addSecondHeader(maxLBSH,locationChooseHeader);
//            locationChooseHeader.setVisiableHeight(maxLBSH);
//            mCatalogContentItemListView.addHeaderView(locationChooseHeader);
//        }
//    }
//
//
//    @Override
//    public void onDestroy() {
//        super.onDestroy();
//        LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mReceiver);
//        if (dataInvoker != null) {
//            dataInvoker.destory();
//            dataInvoker = null;
//        }
//        if (adaptor != null && adaptor.getListContentData() != null)
//            adaptor.getListContentData().clear();
//        attached = false;
//
//        isFirst = true;
//        if (mVideoListPlayerUtil != null)
//            mVideoListPlayerUtil.onDestroy();
//        EventBus.getDefault().unregister(this);
//    }
//
//    @Override
//    public void onItemClick(AdapterView<?> parent, View view, int position,
//                            long id) {
//        int index = position;
//        index = index - mCatalogContentItemListView.getHeaderViewsCount();
//        if (index < 0)
//            return;
//        ArticleItem item = (ArticleItem) adaptor.getItem(index);
//        item.setParentId(catalogID);
//        NewsItemClickUtils.OpenItemNewsHandle(getActivity(), item.getType(), item, catalogItem);
//    }
//
//    private VideoListPlayerUtil mVideoListPlayerUtil;
//
//    @Override
//    public void onPlayIcoClick(View rootView, ViewGroup container, final ArticleItem item) {
//
//        if (mVideoListPlayerUtil == null) {
//            mVideoListPlayerUtil = new VideoListPlayerUtil(getActivity(), mCatalogContentItemListView);
////            bottomComponentChooseUtils.mVideoListPlayerUtil = mVideoListPlayerUtil;
//        }
//        mVideoListPlayerUtil.setPlayerContainer(rootView, container, !TextUtils.isEmpty(item.getGoodsID()), new OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                item.setParentId(catalogID);
//                NewsItemClickUtils.OpenItemNewsHandle(getActivity(), item.getType(), item, catalogItem);
//            }
//        }, item);
//        mVideoListPlayerUtil.setVideoDetail(catalogID + "", item);
//    }
//
//    @Override
//    public int getLayoutResID() {
//        return R.layout.fragment_catalog_itemcontent24;
//    }
//
//    @SuppressWarnings("rawtypes")
//    public void setAdaptor(BaseAdaptor adaptor) {
//        this.adaptor = adaptor;
//    }
//
//
//    boolean checkInited = false;
//
//    @Override
//    public final void onRefresh() {
//        if (getActivity() == null)
//            return;
//        attached = true;
//        checkInited = true;
//        AppConfig appConfig = new AppConfig(getActivity());
//        boolean unkeep = appConfig.lbsIsAutoMode() && Utility.gpsIsOpen(getActivity());
//        if (catalogItem != null && catalogItem.getLbsItem() != null && !isFirst && unkeep) {
//            new LBSRefreshLocation(this).start(getActivity());
//        } else {
//            isFirst = false;
//            doRefresh();
//        }
//    }
//
//    boolean isFirst = true;
//
//    @CallSuper
//    public void doRefresh() {
//        if (isLoading)
//            return;
//        contentListCache.clear();
//        isLoading = true;
//        pageNum = 1;
//
//        Log.w("APPTAG", "onFresh");
//        getNewsListData();
//    }
//
//    //使用缓存时候第一次要刷新一下界面
//    protected boolean cacheRefresh = false;
//
//    private void useCache() {
//        contentListCache.clear();
//        ArticleListData dataResult = CacheDataKt.readData(this, catalogID, ArticleListData.class);
//        if (adaptor != null /*&& adaptor.getCount() > 0*/ && dataCallback != null && dataResult != null && (dataResult.articleList.size() > 0 || dataResult.componentItems.size() > 0)) {
//            Log.w("APPTAG", "useCache");
//            cacheRefresh = true;
//            dataCallback.success(dataResult);
//        } else {
//            showStateView(TYPE_LOADING, false);
//            onRefresh();
//        }
//
//    }
//
//
//    @Override
//    public void onAttach(Context context) {
//        super.onAttach(context);
//        registerMulti();
//    }
//
//    @Override
//    public void onPause() {
//
//        super.onPause();
//
//    }
//
//    @Override
//    public void onResume() {
//
//
//        if (emptyTipsText == null) {
//            emptyTipsText = Utility.findViewById(mRootView, R.id.emptyTipsText);
//        }
//        super.onResume();
//
//    }
//
//
//    private void registerMulti() {
//
//        IntentFilter filter = new IntentFilter();
//        filter.addAction(MultiUtils.outFullbord);
//        filter.addAction(MultiUtils.closeThe);
//
//        LocalBroadcastManager.getInstance(getActivity()).registerReceiver(mReceiver, filter);
//    }
//
//    BroadcastReceiver mReceiver = new BroadcastReceiver() {
//        @Override
//        public void onReceive(Context context, Intent intent) {
//
//            String action = intent.getAction();
//            Log.i("test", "mReceiver action:" + action);
//
//
//
//        }
//    };
//
//
//    @CallSuper
//    @Override
//    public void unChosoed() {
//        super.unChosoed();
//        stopThePlayer();
//    }
//
//    boolean isVisible = false;
//    boolean isExcode = false;
//
//    private void stopThePlayer() {
//
//        MultiVideoMannager.getInstace().isHiden = true;
//
//    }
//
//    @CallSuper
//    @Override
//    public void choosed() {
//        super.choosed();
//
//        isExcode = false;
//        showBottomDivide();
//    }
//
//    protected void showBottomDivide() {
//        Fragment fragment = getRootFragment();
//        if (fragment instanceof SecondNav) {
//            SecondNav secondNav = (SecondNav) fragment;
//            try {
//                //1 2 代表新浪和搜狐的二楼效果 参考的SecondFloorHandler.kt
//                if (getNavigate() != null &&
//                        (getNavigate().getSpecial_effect() == 1 || getNavigate().getSpecial_effect() == 2)
//                        && secondNav.getSecondTabIsNotOnToolBar()) {
//                    secondNav.setTableBottomDivideVisible(false);
//                } else {
//                    secondNav.setTableBottomDivideVisible(true);
//                }
//            } catch (Exception e) {
//                e.printStackTrace();
//                secondNav.setTableBottomDivideVisible(true);
//            }
//        }
//    }
//
//    @CallSuper
//    @Override
//    public void setUserVisibleHint(boolean isVisibleToUser) {
//        super.setUserVisibleHint(isVisibleToUser);
//        Log.i("test", "player:setUserVisibleHint");
//        if (getUserVisibleHint()) {
//            isVisible = true;
//            //   isExcode=false;
//            Log.i("test", "player:hiden?:visible");
//        } else {
//
//            Log.i("test", "player:hiden?:GONE");
//            if (mVideoListPlayerUtil != null) {
//                mVideoListPlayerUtil.stopPlay();
//            }
//
//            // isVisible = false;
//        }
//    }
//
//    @Override
//    public void onHiddenChanged(boolean hidden) {
//        super.onHiddenChanged(hidden);
//        Log.i("test", "player:onHiddenChanged:" + hidden);
//        if (hidden) {
//            if (mVideoListPlayerUtil != null) {
//                mVideoListPlayerUtil.stopPlay();
//            }
//
//            MultiVideoMannager.getInstace().isHiden = true;
//        } else {
//
//        }
//    }
//
//
//    /**
//     * 取新闻列表
//     */
//    protected void getNewsListData() {
//        matchLBSCataglogId();
//        if (dataInvoker != null && catalogID != null)
//            dataInvoker.getContentListWithAd(catalogID, pageNum, pageSize,null);
//    }
//
//    protected final void matchLBSCataglogId() {
//        if (catalogItem != null && !TextUtils.isEmpty(catalogItem.getLbsNavigateDataId())) {
//            catalogID = catalogItem.getLbsNavigateDataId();
//            contentListCache.setCatalogId(catalogID);
//        }
//    }
//
//    @Override
//    public final void onLoadMore() {
//        if (isLoading)
//            return;
//        //如果那边已经预加载了下一页的数据
//        if (contentListCache.getCache2().containsKey(pageNum + 1)) {
//            ArticleListData dataResult = contentListCache.getCache2().get(pageNum + 1);
//            if (dataCallback != null && dataResult != null && dataResult.articleList.size() > 0) {
//                pageNum++;
//                isLoading = true;
//                dataCallback.success(dataResult);
//                return;
//            }
//        }
//        pageNum++;
//        isLoading = true;
//        loadmore();
//    }
//
//    public void loadmore() {
//        getNewsListData();
//    }
//
//    boolean chooseLocationVisible = false;
//
//    @Override
//    public void setChooseLocationVisible(boolean value) {
//        chooseLocationVisible = value;
//    }
//
//    @Override
//    public boolean getChooseLocationVisible() {
//        return chooseLocationVisible;
//    }
//
//    @NotNull
//    @Override
//    public View getInterceptView() {
//        return mCatalogContentItemListView;
//    }
//
//    @Override
//    public final void onLoadMore(@NonNull RefreshLayout refreshLayout) {
//        onLoadMore();
//    }
//
//    @Override
//    public final void onRefresh(@NonNull RefreshLayout refreshLayout) {
//        onRefresh();
//    }
//
//    @Override
//    public final void f5() {
//        mCatalogContentItemListView.setSelection(0);
//
//    }
//
//    @Override
//    public final void gun() {
//        //这里也会滚动到顶部，处理一下滚动状态
//        setScrollParams();
//        setScrollerFlag(FLAG_SCROLL_TOP);
//        mCatalogContentItemListView.setSelection(0);
//    }
//
//    @Override
//    public boolean handleScroller() {
//        if (hasScrollerFlag(FLAG_SCROLL_TOP)) {
//            setScrollerFlag(FLAG_SCROLL_POSITION);
//            mCatalogContentItemListView.setSelectionFromTop(lastSelectedPosition, lastSelectedPositionOffset);
//            return true;
//        }
//        if (hasScrollerFlag(FLAG_SCROLL_POSITION)) {
//            setScrollParams();
//            setScrollerFlag(FLAG_SCROLL_TOP);
//
//            mCatalogContentItemListView.requestFocusFromTouch();
//            mCatalogContentItemListView.setSelection(0);
//            return true;
//        }
//        return true;
//    }
//
//    private void setScrollParams() {
//        lastSelectedPosition = mCatalogContentItemListView.getFirstVisiblePosition();
//        View view = mCatalogContentItemListView.getChildAt(0);
//        if (view != null) {
//            lastSelectedPositionOffset = view.getTop();
//        }
//    }
//
//
//    LiveNavCall liveNavCall;
//
//    public void setLiveCall(LiveNavCall call) {
//        liveNavCall = call;
//    }
//
//    protected boolean needUpdateComponent = true;
//
//    public class BaseNewsDataInvokeCallBack extends BaseDataInvokeCallBack<ArticleListData> {
//
//        @SuppressWarnings("unchecked")
//        public void success(ArticleListData result) {
//            if (needCache() && pageNum == 1)
//                CacheDataKt.saveData(BaseNewsListFragment24.this, catalogID, result.orginData + "");
//            if (liveNavCall != null)
//                liveNavCall.success(result);
//            Log.w("APPTAG", "success baselist");
//            if (adaptor == null)
//                return;
//            isLoading = false;
////            mCatalogContentItemListView.setPullLoadEnable(result.more);
//            JSONObject data = result.orginData.optJSONObject("data");
//            if (pageNum == 1) {
//                if (FloatButtonGroup.haveFloatField(data)) {
//                    initFloatWin(data);
//                } else {
//                    hideFloatWin();
//                }
//            }
//            if (pageNum == 1) {
//
//                if (adaptor instanceof IAdapterRefresh) {
//                    ((IAdapterRefresh) adaptor).refresh();
//                }
//                if (adaptor.getListContentData() != null) {
//                    adaptor.getListContentData().clear();
//                }
//
//            }
//
//            if (adaptor.getListContentData() == null) {
//                adaptor.setListContentData(result.articleList);
//            } else {
//                adaptor.getListContentData().addAll(result.articleList);
//            }
//            adaptor.notifyDataSetChanged();
//
//            if (needUpdateComponent && (adaptor.getListContentData() == null || adaptor.getListContentData().size() == 0) && result.componentItems.size() == 0) {
//                showStateView(TYPE_NO_CONTENT, false);
//            } else {
//                closeStateView();
//            }
//            contentListCache.setPageNum(pageNum + 1);
//            contentListCache.preload2();
//            if (cacheRefresh &&!ThemeKit.getThemeSwitch() ) {
//                cacheRefresh = false;
//
//            }
//        }
//    }
//
//    public abstract class BaseDataInvokeCallBack<T extends BaseMessageReciver> implements DataInvokeCallBack<T> {
//        @Override
//        public void fault(Object object) {
//            Log.w("APPTAG", "fault" + object);
//            if (liveNavCall != null)
//                liveNavCall.fault();
//            isLoading = false;
//            pageNum--;
////            mCatalogContentItemListView.stopLoadMore();
////            mCatalogContentItemListView.stopRefresh();
//
//            if (object != null && adaptor != null && (adaptor.getListContentData() == null
//                    || adaptor.getListContentData().size() == 0)) {
//                showStateView(TYPE_NET_NOT_GIVE_FORCE, false);
//            } else if (adaptor != null && (adaptor.getListContentData() == null
//                    || adaptor.getListContentData().size() == 0)) {
//                showStateView(TYPE_NO_CONTENT, false);
//            } else
//                closeStateView();
//        }
//    }
//
//    public void onSaveInstanceState(Bundle outState) {
//        outState.putString("id", catalogID);
//        outState.putParcelable("catalog", catalogItem);
//        super.onSaveInstanceState(outState);
//    }
//
//    @CallSuper
//    @Override
//    public void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (requestCode == LBSChooseListener.Request && resultCode == Activity.RESULT_OK)
//            LBSChooseListener.getInstance().onActivityResult(data, this);
//    }
}